package com.sky.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 微信支付相关配置参数类
 * 用于配置微信支付所需的各种参数信息
 */
@Component
@ConfigurationProperties(prefix = "sky.wechat.pay")
@Data
public class WeChatPayProperties {

    /**
     * 微信支付商户号
     * 每个微信支付商户都有一个唯一的商户号（MCHID）
     */
    private String mchId;

    /**
     * 微信支付商户证书序列号
     * 用于标识商户API证书，签名和验签时需要使用
     */
    private String mchSerialNo;

    /**
     * 商户私钥文件路径
     * 用于签名的商户私钥文件，需要商户自己生成并妥善保管
     */
    private String privateKeyFilePath;

    /**
     * 微信支付平台证书文件路径
     * 用于验签微信支付返回的数据，需要从微信支付商户平台下载
     */
    private String weChatPayCertFilePath;

    /**
     * APIv3密钥
     * 用于解密微信支付平台返回的数据，需要在商户平台设置
     */
    private String apiV3Key;

    /**
     * 支付通知URL
     * 微信支付成功后，微信服务器会向该地址发送支付结果通知
     */
    private String notifyUrl;

    /**
     * 退款通知URL
     * 微信退款成功后，微信服务器会向该地址发送退款结果通知
     */
    private String refundNotifyUrl;
}